Images can typically be represented and displayed using either of two types of imagery information: raster graphics (or bit map data) and graphic objects. Typically, digital images generated by a computer are displayed on a display device (monitor) using a color triad of red, green, and blue (RGB) phosphorous dots. A computer display is made up of rows and columns of pixels. Each pixel is a triad of phosphorous dots (RGB). The intensities of the red, green and blue in each pixel is controlled to simulate various colors on the computer display device. A digital picture is displayed on a computer display device by addressing each triad of three dots constituting a pixel and defining the RGB intensities.
The pixel illumination information is sent as raw raster data from the computer to the display and consists of intensities of the RGB pixels starting with, typically, the upper left hand pixel on the computer screen, followed by intensity values for the red, green, and blue pixels in each of the subsequent pixel groups in that first row along the top of the computer screen. Once the top row is completed, the raw raster data continues with the left most pixel in the second row of the computer screen and similarly each group of pixels contained within the computer screen is supplied with an intensity value for each of the pixels in the pixel group from the raw raster data. In this manner, the computer generates a digital picture which is displayed on the computer screen which appears as a picture to an observer. This pattern of pixel illumination information is typically referred to as a “bit map” or a “bit-mapped” image, in other words each pixel on the screen is mapped to a value stored in a two dimensional memory array corresponding to the pixel layout of the display, each memory element storing a corresponding pixel luminance value from 0 to 255.
Input devices, such as digital cameras and camcorders may use a Bayer filter implementing a Bayer pattern of four color sensors grouped together with the upper left hand sensor being sensitive to green, the upper right hand sensor being sensitive to blue, the lower left hand sensor being sensitive to red and the lower right hand sensor being sensitive to green. The sensor elements repeat in a known pattern. The Bayer pattern described is a standard input sensor color format for the orientation of the red, green, and blue pixels but one of ordinary skill would understand that various permutations of this pattern are possible and used throughout the computer industry.
The computer can perform a number of processes or steps on the raw bit map image captured from a sensor to increase the aesthetic value of the overall image. For instance, the color resulting from the field of four sensor Bayer groups (determined by the intensities of the sensors themselves) can be compared to the color of surrounding sensors and the derived RGB triad intensity values can be established and adjusted to ensure that a gradual changing of color occurs, for instance in the coloration of the face of a person, as would be eventually displayed as a digital picture. Together these individual steps in adjusting the color resulting from sensors or pixel groups, through adjusting the intensities of the color elements establish a bit map pipeline or raw raster pipeline. The bit map image which make up the digital image is, to the computer, a series or string of color intensity values.
A computer may also typically generate a graphic image using object-oriented graphics to generate one or more graphic primitives such as points, lines, polygons, alphanumeric characters, special symbols and fonts, etc., and combine these basic graphic primitives to represent the overall image. For instance, a square, being a standard graphic primitive object would be represented as data required to construct such a square, such as size, location, line and fill color, etc., so as to constitute a square graphics image. However, a person included in a graphics image would be composed of a number of individual graphic primitives which, when grouped together, appear as a person or some other complex object consisting of a plurality of primitives. Recognition software exists today which will transform a bit map or raster graphics digital image into an object-oriented graphic representation of the digital image. These algorithm vary in capability and the graphical representation of the digital image is a direct function of the capability of the algorithm used in the conversion. For instance, if this algorithm is used on the digital image of a person, the quality of the appearance of the graphic image of the person is a direct function of the quality of the algorithms which convert the raster digital image of the person into an object-oriented graphical representation of the person.
Once a digital image is converted to an object-oriented graphical representation, the computer can alter the position and orientation of the various primitives which represent the digital image to simulate motion of the graphical representation. For instance, if a digital image of a person were converted to a graphical representation, the orientation of the object-oriented graphical primitive objects which are used to represent the legs of the person may be varied to simulate a person walking. As the complexity of the graphical images and the simulated motion improve, the quality of the overall graphic image approaches a real or non-synthetic image.
The graphic data to be displayed on a computer screen passes through a number of stages in order to improve the overall appearance of the image. In other words, the graphic image can be passed through a graphics pipeline which will enhance the appearance of the resulting overall graphic image, perform various corrections and assemble primitive elements and constituent components into a unified image.
As previously discussed, the images displayed on a computer screen normally result from either an object-oriented graphic image or a bit map (raster scan) image. If bit map images are displayed, a bit map or raster pipeline is used to adjust the color intensities of the pixels before the image is displayed on the computer screen. If graphic object-oriented images are displayed, the graphical images are passed through a graphics pipeline to assemble the primitives into a composite image for viewing. While prior art systems have segregated portions or windows on the screen in which a bit map image or an object-oriented graphic image can be displayed, similar to the “picture-in-picture” feature of modern televisions, the image within an area or window of the screen is still either a bit map image or an object-oriented graphic image because those images come through different graphic pipes.
Problems exists when it is desired to effectively and efficiently process both object-oriented (i.e., vector) and bit map (i.e., raster) graphics and images interchangeably.